package com.jspgou.cms.entity.base;

import java.io.Serializable;


/**
 * This is an object that contains data related to the jc_store_ext table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="jc_store_ext"
 */

public abstract class BaseStoreExt  implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static String REF = "StoreExt";
	public static String PROP_LOGO_IMG = "logoImg";
	public static String PROP_DOMAIN = "domain";
	public static String PROP_REVERSE_IMG = "reverseImg";
	public static String PROP_STORE = "store";
	public static String PROP_STORE_PATH = "storePath";
	public static String PROP_FACADE_IMG = "facadeImg";
	public static String PROP_SELLER_KEY = "sellerKey";
	public static String PROP_CODE = "code";
	public static String PROP_POSTCODE = "postcode";
	public static String PROP_STORE_AD_IMG = "storeAdImg";
	public static String PROP_LICENSE_IMG = "licenseImg";
	public static String PROP_STORE_NAME = "storeName";
	public static String PROP_SHORT_NAME = "shortName";
	public static String PROP_ADDRESS = "address";
	public static String PROP_MOBILE = "mobile";
	public static String PROP_ID = "id";
	public static String PROP_INTRO = "intro";
	public static String PROP_SELLER_EMAIL = "sellerEmail";
	public static String PROP_PARTNER = "partner";


	// constructors
	public BaseStoreExt () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseStoreExt (java.lang.Long id) {
		this.setId(id);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseStoreExt (
		java.lang.Long id,
		java.lang.String storeName,
		java.lang.String domain) {

		this.setId(id);
		this.setStoreName(storeName);
		this.setDomain(domain);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Long id;

	// fields
	private java.lang.String storeName;
	private java.lang.String shortName;
	private java.lang.String code;
	private java.lang.String domain;
	private java.lang.String storePath;
	private java.lang.String postcode;
	private java.lang.String licenseImg;
	private java.lang.String facadeImg;
	private java.lang.String reverseImg;
	private java.lang.String logoImg;
	private java.lang.String storeAdImg;
	private java.lang.String address;
	private java.lang.String mobile;
	private java.lang.String intro;
	private java.lang.String partner;
	public java.lang.String getPartner() {
		return partner;
	}

	public void setPartner(java.lang.String partner) {
		this.partner = partner;
	}

	public java.lang.String getSellerKey() {
		return sellerKey;
	}

	public void setSellerKey(java.lang.String sellerKey) {
		this.sellerKey = sellerKey;
	}

	public java.lang.String getSellerEmail() {
		return sellerEmail;
	}

	public void setSellerEmail(java.lang.String sellerEmail) {
		this.sellerEmail = sellerEmail;
	}



	private java.lang.String sellerKey;
	private java.lang.String sellerEmail;
	private java.lang.String reason;

	// one to one
	private com.jspgou.cms.entity.Store store;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="foreign"
     *  column="store_id"
     */
	public java.lang.Long getId () {
		return id;
	}

	/**
	 * Set the unique identifier of this class
	 * @param id the new ID
	 */
	public void setId (java.lang.Long id) {
		this.id = id;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: store_name
	 */
	public java.lang.String getStoreName () {
		return storeName;
	}

	/**
	 * Set the value related to the column: store_name
	 * @param storeName the store_name value
	 */
	public void setStoreName (java.lang.String storeName) {
		this.storeName = storeName;
	}


	/**
	 * Return the value associated with the column: short_name
	 */
	public java.lang.String getShortName () {
		return shortName;
	}

	/**
	 * Set the value related to the column: short_name
	 * @param shortName the short_name value
	 */
	public void setShortName (java.lang.String shortName) {
		this.shortName = shortName;
	}


	/**
	 * Return the value associated with the column: code
	 */
	public java.lang.String getCode () {
		return code;
	}

	/**
	 * Set the value related to the column: code
	 * @param code the code value
	 */
	public void setCode (java.lang.String code) {
		this.code = code;
	}


	/**
	 * Return the value associated with the column: domain
	 */
	public java.lang.String getDomain () {
		return domain;
	}

	/**
	 * Set the value related to the column: domain
	 * @param domain the domain value
	 */
	public void setDomain (java.lang.String domain) {
		this.domain = domain;
	}


	/**
	 * Return the value associated with the column: store_path
	 */
	public java.lang.String getStorePath () {
		return storePath;
	}

	/**
	 * Set the value related to the column: store_path
	 * @param storePath the store_path value
	 */
	public void setStorePath (java.lang.String storePath) {
		this.storePath = storePath;
	}


	/**
	 * Return the value associated with the column: postcode
	 */
	public java.lang.String getPostcode () {
		return postcode;
	}

	/**
	 * Set the value related to the column: postcode
	 * @param postcode the postcode value
	 */
	public void setPostcode (java.lang.String postcode) {
		this.postcode = postcode;
	}


	/**
	 * Return the value associated with the column: license_img
	 */
	public java.lang.String getLicenseImg () {
		return licenseImg;
	}

	/**
	 * Set the value related to the column: license_img
	 * @param licenseImg the license_img value
	 */
	public void setLicenseImg (java.lang.String licenseImg) {
		this.licenseImg = licenseImg;
	}


	/**
	 * Return the value associated with the column: facade_img
	 */
	public java.lang.String getFacadeImg () {
		return facadeImg;
	}

	/**
	 * Set the value related to the column: facade_img
	 * @param facadeImg the facade_img value
	 */
	public void setFacadeImg (java.lang.String facadeImg) {
		this.facadeImg = facadeImg;
	}


	/**
	 * Return the value associated with the column: reverse_img
	 */
	public java.lang.String getReverseImg () {
		return reverseImg;
	}

	/**
	 * Set the value related to the column: reverse_img
	 * @param reverseImg the reverse_img value
	 */
	public void setReverseImg (java.lang.String reverseImg) {
		this.reverseImg = reverseImg;
	}


	/**
	 * Return the value associated with the column: logo_img
	 */
	public java.lang.String getLogoImg () {
		return logoImg;
	}

	/**
	 * Set the value related to the column: logo_img
	 * @param logoImg the logo_img value
	 */
	public void setLogoImg (java.lang.String logoImg) {
		this.logoImg = logoImg;
	}


	/**
	 * Return the value associated with the column: storeAd_img
	 */
	public java.lang.String getStoreAdImg () {
		return storeAdImg;
	}

	/**
	 * Set the value related to the column: storeAd_img
	 * @param storeAdImg the storeAd_img value
	 */
	public void setStoreAdImg (java.lang.String storeAdImg) {
		this.storeAdImg = storeAdImg;
	}


	/**
	 * Return the value associated with the column: address
	 */
	public java.lang.String getAddress () {
		return address;
	}

	/**
	 * Set the value related to the column: address
	 * @param address the address value
	 */
	public void setAddress (java.lang.String address) {
		this.address = address;
	}


	/**
	 * Return the value associated with the column: mobile
	 */
	public java.lang.String getMobile () {
		return mobile;
	}

	/**
	 * Set the value related to the column: mobile
	 * @param mobile the mobile value
	 */
	public void setMobile (java.lang.String mobile) {
		this.mobile = mobile;
	}


	/**
	 * Return the value associated with the column: intro
	 */
	public java.lang.String getIntro () {
		return intro;
	}

	/**
	 * Set the value related to the column: intro
	 * @param intro the intro value
	 */
	public void setIntro (java.lang.String intro) {
		this.intro = intro;
	}


	/**
	 * Return the value associated with the column: store
	 */
	public com.jspgou.cms.entity.Store getStore () {
		return store;
	}

	/**
	 * Set the value related to the column: store
	 * @param store the store value
	 */
	public void setStore (com.jspgou.cms.entity.Store store) {
		this.store = store;
	}

	public java.lang.String getReason() {
		return reason;
	}

	public void setReason(java.lang.String reason) {
		this.reason = reason;
	}

	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof com.jspgou.cms.entity.StoreExt)) return false;
		else {
			com.jspgou.cms.entity.StoreExt storeExt = (com.jspgou.cms.entity.StoreExt) obj;
			if (null == this.getId() || null == storeExt.getId()) return false;
			else return (this.getId().equals(storeExt.getId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}